package org.soma.sso.core.store;

import org.soma.sso.core.cache.RedisCache;
import org.soma.sso.core.constant.ConfigConstant;

/**
 * local login store
 *
 * @author xuxueli 2018-04-02 20:03:11
 */
public class SsoStore {

    /**
     * get
     *
     * @param sessionId
     * @return
     */
    public static Object get(String sessionId) {
        String redisKey = redisKey(sessionId);
        Object objectValue = RedisCache.getObjectValue(redisKey);
        return objectValue;
    }

    /**
     * remove
     *
     * @param sessionId
     */
    public static void remove(String sessionId) {
        String redisKey = redisKey(sessionId);
        RedisCache.del(redisKey);
    }

    /**
     * put
     *
     * @param sessionId
     * @param xxlUser
     */
    public static void put(String sessionId, Object object) {
        String redisKey = redisKey(sessionId);
        RedisCache.setObjectValue(redisKey, object);
    }

    private static String redisKey(String sessionId){
        return ConfigConstant.SSO_SESSIONID.concat("#").concat(sessionId);
    }

}
